package com.liwei;

import javax.servlet.http.HttpServletRequest;

import junit.framework.TestCase;

import org.easymock.MockControl;

public class EasyMockMockRequestTest extends TestCase {

	private MockControl control;

	private HttpServletRequest mockRequest;

	public void testMockRequest() {

		// 创建一个Mock HttpServletRequest的MockControl对象
		control = MockControl.createControl(HttpServletRequest.class);

		// 获取一个Mock HttpServletRequest对象
		mockRequest = (HttpServletRequest) control.getMock();

		// 设置期望调用的Mock HttpServletRequest对象的方法
		mockRequest.getParameter("name");

		// 设置调用方法期望的返回值，并指定调用次数
		// 以下后两个参数表示最少调用一次，最多调用一次
		control.setReturnValue("kongxx", 1, 1);

		// 设置Mock HttpServletRequest的状态，
		// 表示此Mock HttpServletRequest对象可以被使用
		control.replay();

		// 使用断言检查调用
		assertEquals("kongxx", mockRequest.getParameter("name"));

		// 验证期望的调用
		control.verify();

	}

}